package cc.zy.base.hr.service;

import cc.zy.base.common.entity.QueryRequest;
import cc.zy.base.hr.entity.DraftPlan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.util.List;

/**
 * @author YF
 * @time 2022/03/09 14:15:56
 */


/**
 * 计划草稿
 * Service
 */
public interface IDraftPlanService extends IService<DraftPlan> {

    /**
     * 查询（分页）
     *
     * @param request QueryRequest
     * @param draft draft
     * @return IPage<draft>
     */
    IPage<DraftPlan> findDrafts(QueryRequest request, DraftPlan draft);

    /**
     * 通过ID查找详细信息
     *
     * @param id id
     * @return 详细信息
     */
    DraftPlan findDraftDetailList(Integer id);

    /**
     * 通过ID查找详细信息
     *
     * @param id id
     * @return 详细信息
     */
    DraftPlan findById(Integer id);

    /**
     * 查询（所有）
     *
     * @param draft draft
     * @return List<Draft>
     */
    List<DraftPlan> findTags(DraftPlan draft);

    /**
     * 新增
     *
     * @param draft draft
     */
    void createDraft(DraftPlan draft);

    /**
     * 修改
     *
     * @param draft draft
     */
    void updateDraft(DraftPlan draft);

    /**
     * 删除
     *
     * @param draft draft
     */
    void deletedraft(DraftPlan draft);

    /**
     * 删除
     *
     * @param draftIds  id数组
     */
    void deleteDrafts(String[] draftIds);

    /**
     * 查询不带分页
     */
    List<DraftPlan> findDraftListNotPage(DraftPlan draft);



    /**
     * 查询前台输入的全称是否存在
     *
     * @param name
     * @return
     */
    Boolean isRepetitive(String name);


    /**
     * 读取excel文件
     * @param multipartFile
     * @param session
     * @return
     */
    public String readExcel(MultipartFile multipartFile, HttpSession session);


}
